package code.vista;

import javax.swing.JLabel;
import java.util.Calendar;

public class Cronometro extends JLabel implements Runnable {

	private static final long serialVersionUID = 1L;
	private long tiempoInicial;
	private int horas, minutos, segundos;
	private String tiempoTotal;
	Thread hilo;

	public Cronometro() {
	}

	public void inicializar() {
		horas = minutos = segundos = 0;
		tiempoInicial = System.currentTimeMillis();
		this.setText(horas + ":" + minutos + ":" + segundos);
		hilo = new Thread(this);
	}

	public void iniciar() {
		hilo.start();
	}

	@SuppressWarnings("deprecation")
	public void parar() {
		hilo.stop();
	}

	public void run() {
		Calendar tiempo = Calendar.getInstance();
		while (true) {
			tiempo.setTimeInMillis(System.currentTimeMillis() - tiempoInicial);
			minutos = tiempo.get(Calendar.MINUTE);
			segundos = tiempo.get(Calendar.SECOND);
			this.setText(horas + ":" + minutos + ":" + segundos);
			if (minutos == 59 && segundos == 59)
				horas++;
		}

	}

	public long getTiempoInicial() {
		return tiempoInicial;
	}

	public void setTiempoInicial(long tiempoInicial) {
		this.tiempoInicial = tiempoInicial;
	}

	public int getHoras() {
		return horas;
	}

	public void setHoras(int horas) {
		this.horas = horas;
	}

	public int getMinutos() {
		return minutos;
	}

	public void setMinutos(int minutos) {
		this.minutos = minutos;
	}

	public int getSegundos() {
		return segundos;
	}

	public void setSegundos(int segundos) {
		this.segundos = segundos;
	}

	public String getTiempoTotal() {
		tiempoTotal = horas + ":" + minutos + ":" + segundos;
		return tiempoTotal;
	}

	public void setTiempoTotal(String tiempoTotal) {
		this.tiempoTotal = tiempoTotal;
	}

}